package com.smarthealthcare.consultation.service.impl;

import java.util.List;

import com.smarthealthcare.mapper.RegisterMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.smarthealthcare.consultation.mapper.ConsultationMapper;
import com.smarthealthcare.consultation.domain.Consultation;
import com.smarthealthcare.consultation.service.IConsultationService;

/**
 * 问诊列表Service业务层处理
 * 
 * @author litangwang
 * @date 2024-11-23
 */
@Service
public class ConsultationServiceImpl implements IConsultationService 
{
    @Autowired
    private ConsultationMapper consultationMapper;

    @Autowired
    private RegisterMapper  registerMapper;

    /**
     * 查询问诊列表
     * 
     * @param id 问诊列表主键
     * @return 问诊列表
     */
    @Override
    public Consultation selectConsultationById(Long id)
    {
        Consultation consultation = consultationMapper.selectConsultationById(id);
        consultation.setRegister(registerMapper.selectRegisterById(consultation.getRegisterId()));
        return consultation;
    }

    /**
     * 查询问诊列表列表
     * 
     * @param consultation 问诊列表
     * @return 问诊列表
     */
    @Override
    public List<Consultation> selectConsultationList(Consultation consultation)
    {
        List<Consultation> consultations = consultationMapper.selectConsultationList(consultation);
        for (Consultation aa : consultations){
            aa.setRegister(registerMapper.selectRegisterById(aa.getRegisterId()));
        }
        return consultations;
    }

    /**
     * 新增问诊列表
     * 
     * @param consultation 问诊列表
     * @return 结果
     */
    @Override
    public int insertConsultation(Consultation consultation)
    {
        return consultationMapper.insertConsultation(consultation);
    }

    /**
     * 修改问诊列表
     * 
     * @param consultation 问诊列表
     * @return 结果
     */
    @Override
    public int updateConsultation(Consultation consultation)
    {
        return consultationMapper.updateConsultation(consultation);
    }

    /**
     * 批量删除问诊列表
     * 
     * @param ids 需要删除的问诊列表主键
     * @return 结果
     */
    @Override
    public int deleteConsultationByIds(Long[] ids)
    {
        return consultationMapper.deleteConsultationByIds(ids);
    }

    /**
     * 删除问诊列表信息
     * 
     * @param id 问诊列表主键
     * @return 结果
     */
    @Override
    public int deleteConsultationById(Long id)
    {
        return consultationMapper.deleteConsultationById(id);
    }

    @Override
    public int deleteConsultationByRegisterId(Integer registerId) {
        return consultationMapper.deleteConsultationByRegisterId(registerId);
    }


}
